package cn.edu.ncut.cs.springboot.petmanagementsystem.service;

import cn.edu.ncut.cs.springboot.petmanagementsystem.pojo.PetHealthRecord;
import cn.edu.ncut.cs.springboot.petmanagementsystem.vo.PetHealthRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

public interface PetHealthService {
    /**
     * 添加宠物健康检测或体检记录
     */
    boolean createHealthRecord(PetHealthRecord record);

    /**
     * 查询某只宠物的健康检测记录（分页）
     */
    IPage<PetHealthRecord> getHealthRecordsByPetId(Integer pageNum, Integer pageSize, Long petId);

    /**
     * 查询健康检测记录（支持多条件查询）
     */
    IPage<PetHealthRecordVO> getHealthRecords(Integer pageNum, Integer pageSize, Long petId, String petName, Integer status);

    /**
     * 查看单条健康检测详情
     */
    PetHealthRecord getHealthRecordById(Long id);

    /**
     * 查看单条健康检测详情（VO）
     */
    PetHealthRecordVO getHealthRecordDetailById(Long id);

    /**
     * 修改健康记录
     */
    boolean updateHealthRecord(PetHealthRecord record);

    /**
     * 删除健康检测记录
     */
    boolean deleteHealthRecord(Long id);

    /**
     * 获取宠物健康记录统计
     */
    Map<String, Object> getHealthStatistics(Long petId);

    /**
     * 获取健康提醒列表
     */
    List<Map<String, Object>> getHealthReminders(Long userId);
}
